/******************************************************************************
 * Copyright (C) ShenZhen Powerdata Information Technology Co.,Ltd
 * All Rights Reserved.
 * 本软件为深圳市博安达信息技术股份有限公司开发研制。未经本公司正式书面同意，其他任何个人、团体不得使用、
 * 复制、修改或发布本软件.
 *****************************************************************************/

package com.szboanda.business.relevance.business.dao;


import com.szboanda.beijing.pure.BaseBusinessDAO;
import com.szboanda.business.relevance.business.exception.RelevanceBusinessException;
import com.szboanda.business.relevance.business.provider.BusinessProvider;
import com.szboanda.platform.common.annotation.AutoLoadDAO;
import org.apache.ibatis.annotations.SelectProvider;

import java.util.List;
import java.util.Map;

/**
 * @title:      关联引擎关联关系组件_业务处理DAO接口类
 * @fileName:   RelevanceBusinessDAO.java
 * @description:
 * @copyright:  PowerData Software Co.,Ltd. Rights Reserved.
 * @company:    深圳市博安达信息技术股份有限公司
 * @author:     原晋川
 * @date:       2019-09-21 18:35
 * @version:    V1.0
 */

@AutoLoadDAO
public interface RelevanceBusinessDAO extends BaseBusinessDAO {
	
	
    /**
     * 查询【关联引擎关联关系组件】业务集合
     * @param searchInfo 业务Map对象
     * @return 业务集合
     * @throws RelevanceBusinessException
     */
    List<Map<String, Object>> queryRelevanceBusinesss(Map<String, Object> searchInfo) throws RelevanceBusinessException;
    List<Map<String, Object>> queryTaskListRelevanceBusinesss(Map<String, Object> searchInfo) throws RelevanceBusinessException;

    /**
     * 查询【关联引擎关联关系组件】某个业务信息
     * @param searchInfo 业务Map对象
     * @return
     * @throws RelevanceBusinessException
     */
    Map<String, Object> queryRelevanceBusinessByXh(Map<String, Object> searchInfo) throws RelevanceBusinessException;

    /**
     * 添加【关联引擎关联关系组件】业务
     * @param model 业务Map对象
     * @return int  返回操作标识符
	 * @throws RelevanceBusinessException
     */
    int addRelevanceBusiness(Map<String, Object> model) throws RelevanceBusinessException;

    /**
     * 修改【关联引擎关联关系组件】业务
     * @param model 业务Map对象
     * @return int  返回操作标识符
	 * @throws RelevanceBusinessException
     */
    int updateRelevanceBusiness(Map<String, Object> model) throws RelevanceBusinessException;

    /**
     * 删除【关联引擎关联关系组件】业务
     * @param
     * @return int 返回操作标识符
	 * @throws RelevanceBusinessException
     */
    int deleteRelevanceBusinessByXhs(Map<String, Object> model) throws RelevanceBusinessException;
	
    /**
     * 按主键删除【关联引擎关联关系组件】业务
     * @param xh 主键
     * @return int 返回操作标识符
	 * @throws RelevanceBusinessException
     */
    int deleteRelevanceBusinessByXh(String xh) throws RelevanceBusinessException;

    /**
     * 功能描述: 根据数据表中SQL进行数据查询
     * @param
     * @return
     * @auther 原晋川
     * @date 2019/9/23 14:01
     * @throws
     */
    @SelectProvider(type = BusinessProvider.class,method = "queryDataBySql")
    List<Map<String,Object>> queryDataBySql(String sql) throws RelevanceBusinessException;

    /**
     *
     * @param businessId
     * @return int
     * @author 袁云飞
     * @creed: //添加关联关系之前先删除之前添加的
     * @date 2019/12/6 20:33
     */
    int deleteRelevanceBusinessByBusinessId(String businessId);

    /**
     * @Author 李柯
     * @Description 查询任务列表
     * @Date 17:01 2021/1/11
     * @Param [params]
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     **/
    List<Map<String,Object>> queryTaskListData(Map<String,Object> params);
}